/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2024 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.elusive;

import org.kordamp.ikonli.Ikon;

/**
 * @author Andres Almiray
 */
public enum Elusive implements Ikon {
    // latest is e72a
    ADDRESS_BOOK("eli-address-book", '\ue729'),
    ADDRESS_BOOK_ALT("eli-address-book-alt", '\ue728'),
    ADJUST("eli-adjust", '\ue727'),
    ADJUST_ALT("eli-adjust-alt", '\ue726'),
    ADULT("eli-adult", '\ue725'),
    ALIGN_CENTER("eli-align-center", '\ue724'),
    ALIGN_JUSTIFY("eli-align-justify", '\ue723'),
    ALIGN_LEFT("eli-align-left", '\ue722'),
    ALIGN_RIGHT("eli-align-right", '\ue721'),
    ARROW_DOWN("eli-arrow-down", '\ue720'),
    ARROW_LEFT("eli-arrow-left", '\ue71f'),
    ARROW_RIGHT("eli-arrow-right", '\ue71e'),
    ARROW_UP("eli-arrow-up", '\ue71d'),
    ASL("eli-asl", '\ue71c'),
    ASTERISK("eli-asterisk", '\ue72a'),
    BACKWARD("eli-backward", '\ue71b'),
    BAN_CIRCLE("eli-ban-circle", '\ue71a'),
    BARCODE("eli-barcode", '\ue719'),
    BEHANCE("eli-behance", '\ue718'),
    BLIND("eli-blind", '\ue716'),
    BLOGGER("eli-blogger", '\ue715'),
    BOLD("eli-bold", '\ue714'),
    BOOK("eli-book", '\ue713'),
    BOOKMARK("eli-bookmark", '\ue712'),
    BOOKMARK_EMPTY("eli-bookmark-empty", '\ue711'),
    BRAILLE("eli-braille", '\ue710'),
    BRIEFCASE("eli-briefcase", '\ue70f'),
    BROOM("eli-broom", '\ue70e'),
    BRUSH("eli-brush", '\ue70d'),
    BULB("eli-bulb", '\ue70c'),
    BULLHORN("eli-bullhorn", '\ue70b'),
    CALENDAR("eli-calendar", '\ue70a'),
    CALENDAR_SIGN("eli-calendar-sign", '\ue709'),
    CAMERA("eli-camera", '\ue708'),
    CAR("eli-car", '\ue707'),
    CARET_DOWN("eli-caret-down", '\ue706'),
    CARET_LEFT("eli-caret-left", '\ue705'),
    CARET_RIGHT("eli-caret-right", '\ue704'),
    CARET_UP("eli-caret-up", '\ue703'),
    CC("eli-cc", '\ue702'),
    CERTIFICATE("eli-certificate", '\ue701'),
    CHECK("eli-check", '\ue700'),
    CHECK_EMPTY("eli-check-empty", '\ue6ff'),
    CHEVRON_DOWN("eli-chevron-down", '\ue6fe'),
    CHEVRON_LEFT("eli-chevron-left", '\ue6fd'),
    CHEVRON_RIGHT("eli-chevron-right", '\ue6fc'),
    CHEVRON_UP("eli-chevron-up", '\ue6fb'),
    CHILD("eli-child", '\ue6fa'),
    CIRCLE_ARROW_DOWN("eli-circle-arrow-down", '\ue6f9'),
    CIRCLE_ARROW_LEFT("eli-circle-arrow-left", '\ue6f8'),
    CIRCLE_ARROW_RIGHT("eli-circle-arrow-right", '\ue6f7'),
    CIRCLE_ARROW_UP("eli-circle-arrow-up", '\ue6f6'),
    CLOUD("eli-cloud", '\ue6f5'),
    CLOUD_ALT("eli-cloud-alt", '\ue6f4'),
    COG("eli-cog", '\ue6f3'),
    COGS("eli-cogs", '\ue6f1'),
    COG_ALT("eli-cog-alt", '\ue6f2'),
    COMMENT("eli-comment", '\ue6f0'),
    COMMENT_ALT("eli-comment-alt", '\ue6ef'),
    COMPASS("eli-compass", '\ue6ee'),
    COMPASS_ALT("eli-compass-alt", '\ue6ed'),
    CREDIT_CARD("eli-credit-card", '\ue6ec'),
    CSS("eli-css", '\ue6eb'),
    DASHBOARD("eli-dashboard", '\ue6ea'),
    DELICIOUS("eli-delicious", '\ue6e9'),
    DELL("eli-dell", '\ue717'),
    DEVIANTART("eli-deviantart", '\ue6e8'),
    DIGG("eli-digg", '\ue6e7'),
    DOWNLOAD("eli-download", '\ue6e6'),
    DOWNLOAD_ALT("eli-download-alt", '\ue6e5'),
    DRIBBBLE("eli-dribbble", '\ue6e4'),
    EDIT("eli-edit", '\ue6e3'),
    EJECT("eli-eject", '\ue6e2'),
    ENVELOPE("eli-envelope", '\ue6e1'),
    ENVELOPE_ALT("eli-envelope-alt", '\ue6e0'),
    ERROR("eli-error", '\ue6df'),
    ERROR_ALT("eli-error-alt", '\ue6de'),
    EUR("eli-eur", '\ue6dd'),
    EXCLAMATION_SIGN("eli-exclamation-sign", '\ue6dc'),
    EYE_CLOSE("eli-eye-close", '\ue6db'),
    EYE_OPEN("eli-eye-open", '\ue6da'),
    FACEBOOK("eli-facebook", '\ue6d9'),
    FACETIME_VIDEO("eli-facetime-video", '\ue6d8'),
    FAST_BACKWARD("eli-fast-backward", '\ue6d7'),
    FAST_FORWARD("eli-fast-forward", '\ue6d6'),
    FEMALE("eli-female", '\ue6d5'),
    FILE("eli-file", '\ue6d4'),
    FILE_ALT("eli-file-alt", '\ue6d3'),
    FILE_EDIT("eli-file-edit", '\ue6d2'),
    FILE_EDIT_ALT("eli-file-edit-alt", '\ue6d1'),
    FILE_NEW("eli-file-new", '\ue6d0'),
    FILE_NEW_ALT("eli-file-new-alt", '\ue6cf'),
    FILM("eli-film", '\ue6ce'),
    FILTER("eli-filter", '\ue6cd'),
    FIRE("eli-fire", '\ue6cc'),
    FLAG("eli-flag", '\ue6cb'),
    FLAG_ALT("eli-flag-alt", '\ue6ca'),
    FLICKR("eli-flickr", '\ue6c9'),
    FOLDER("eli-folder", '\ue6c8'),
    FOLDER_CLOSE("eli-folder-close", '\ue6c7'),
    FOLDER_OPEN("eli-folder-open", '\ue6c6'),
    FOLDER_SIGN("eli-folder-sign", '\ue6c5'),
    FONT("eli-font", '\ue6c4'),
    FONTSIZE("eli-fontsize", '\ue6c3'),
    FORK("eli-fork", '\ue6c2'),
    FORWARD("eli-forward", '\ue6c1'),
    FORWARD_ALT("eli-forward-alt", '\ue6c0'),
    FOURSQUARE("eli-foursquare", '\ue6bf'),
    FRIENDFEED("eli-friendfeed", '\ue6be'),
    FRIENDFEED_RECT("eli-friendfeed-rect", '\ue6bd'),
    FULLSCREEN("eli-fullscreen", '\ue6bc'),
    GBP("eli-gbp", '\ue6bb'),
    GIFT("eli-gift", '\ue6ba'),
    GITHUB("eli-github", '\ue6b9'),
    GITHUB_TEXT("eli-github-text", '\ue6b8'),
    GLASS("eli-glass", '\ue6b7'),
    GLASSES("eli-glasses", '\ue6b6'),
    GLOBE("eli-globe", '\ue6b5'),
    GLOBE_ALT("eli-globe-alt", '\ue6b4'),
    GOOGLEPLUS("eli-googleplus", '\ue6b3'),
    GRAPH("eli-graph", '\ue6b2'),
    GRAPH_ALT("eli-graph-alt", '\ue6b1'),
    GROUP("eli-group", '\ue6b0'),
    GROUP_ALT("eli-group-alt", '\ue6af'),
    GUIDEDOG("eli-guidedog", '\ue6ae'),
    HAND_DOWN("eli-hand-down", '\ue6ad'),
    HAND_LEFT("eli-hand-left", '\ue6ac'),
    HAND_RIGHT("eli-hand-right", '\ue6ab'),
    HAND_UP("eli-hand-up", '\ue6aa'),
    HDD("eli-hdd", '\ue6a9'),
    HEADPHONES("eli-headphones", '\ue6a8'),
    HEARING_IMPAIRED("eli-hearing-impaired", '\ue6a7'),
    HEART("eli-heart", '\ue6a6'),
    HEART_ALT("eli-heart-alt", '\ue6a5'),
    HEART_EMPTY("eli-heart-empty", '\ue6a4'),
    HOME("eli-home", '\ue6a3'),
    HOME_ALT("eli-home-alt", '\ue6a2'),
    HOURGLASS("eli-hourglass", '\ue6a1'),
    IDEA("eli-idea", '\ue6a0'),
    IDEA_ALT("eli-idea-alt", '\ue69f'),
    INBOX("eli-inbox", '\ue69e'),
    INBOX_ALT("eli-inbox-alt", '\ue69d'),
    INBOX_BOX("eli-inbox-box", '\ue69c'),
    INDENT_LEFT("eli-indent-left", '\ue69b'),
    INDENT_RIGHT("eli-indent-right", '\ue69a'),
    INFO_SIGN("eli-info-sign", '\ue699'),
    INSTAGRAM("eli-instagram", '\ue698'),
    IPHONE_HOME("eli-iphone-home", '\ue697'),
    ITALIC("eli-italic", '\ue696'),
    KEY("eli-key", '\ue695'),
    LAPTOP("eli-laptop", '\ue694'),
    LAPTOP_ALT("eli-laptop-alt", '\ue693'),
    LASTFM("eli-lastfm", '\ue692'),
    LEAF("eli-leaf", '\ue691'),
    LINES("eli-lines", '\ue690'),
    LINK("eli-link", '\ue68f'),
    LINKEDIN("eli-linkedin", '\ue68e'),
    LIST("eli-list", '\ue68d'),
    LIST_ALT("eli-list-alt", '\ue68c'),
    LIVEJOURNAL("eli-livejournal", '\ue68b'),
    LOCK("eli-lock", '\ue68a'),
    LOCK_ALT("eli-lock-alt", '\ue689'),
    MAGIC("eli-magic", '\ue688'),
    MAGNET("eli-magnet", '\ue687'),
    MALE("eli-male", '\ue686'),
    MAP_MARKER("eli-map-marker", '\ue685'),
    MAP_MARKER_ALT("eli-map-marker-alt", '\ue684'),
    MIC("eli-mic", '\ue683'),
    MIC_ALT("eli-mic-alt", '\ue682'),
    MINUS("eli-minus", '\ue681'),
    MINUS_SIGN("eli-minus-sign", '\ue680'),
    MOVE("eli-move", '\ue67f'),
    MUSIC("eli-music", '\ue67e'),
    MYSPACE("eli-myspace", '\ue67d'),
    NETWORK("eli-network", '\ue67c'),
    OFF("eli-off", '\ue67b'),
    OK("eli-ok", '\ue67a'),
    OK_CIRCLE("eli-ok-circle", '\ue679'),
    OK_SIGN("eli-ok-sign", '\ue678'),
    OPENSOURCE("eli-opensource", '\ue677'),
    PAPER_CLIP("eli-paper-clip", '\ue676'),
    PAPER_CLIP_ALT("eli-paper-clip-alt", '\ue675'),
    PATH("eli-path", '\ue674'),
    PAUSE("eli-pause", '\ue673'),
    PAUSE_ALT("eli-pause-alt", '\ue672'),
    PENCIL("eli-pencil", '\ue671'),
    PENCIL_ALT("eli-pencil-alt", '\ue670'),
    PERSON("eli-person", '\ue66f'),
    PHONE("eli-phone", '\ue66e'),
    PHONE_ALT("eli-phone-alt", '\ue66d'),
    PHOTO("eli-photo", '\ue66c'),
    PHOTO_ALT("eli-photo-alt", '\ue66b'),
    PICASA("eli-picasa", '\ue66a'),
    PICTURE("eli-picture", '\ue669'),
    PINTEREST("eli-pinterest", '\ue668'),
    PLANE("eli-plane", '\ue667'),
    PLAY("eli-play", '\ue666'),
    PLAY_ALT("eli-play-alt", '\ue665'),
    PLAY_CIRCLE("eli-play-circle", '\ue664'),
    PLUS("eli-plus", '\ue663'),
    PLUS_SIGN("eli-plus-sign", '\ue662'),
    PODCAST("eli-podcast", '\ue661'),
    PRINT("eli-print", '\ue660'),
    PUZZLE("eli-puzzle", '\ue65f'),
    QRCODE("eli-qrcode", '\ue65e'),
    QUESTION("eli-question", '\ue65d'),
    QUESTION_SIGN("eli-question-sign", '\ue65c'),
    QUOTES("eli-quotes", '\ue65b'),
    QUOTES_ALT("eli-quotes-alt", '\ue65a'),
    RANDOM("eli-random", '\ue659'),
    RECORD("eli-record", '\ue658'),
    REDDIT("eli-reddit", '\ue657'),
    REFRESH("eli-refresh", '\ue656'),
    REMOVE("eli-remove", '\ue655'),
    REMOVE_CIRCLE("eli-remove-circle", '\ue654'),
    REMOVE_SIGN("eli-remove-sign", '\ue653'),
    REPEAT("eli-repeat", '\ue652'),
    REPEAT_ALT("eli-repeat-alt", '\ue651'),
    RESIZE_FULL("eli-resize-full", '\ue650'),
    RESIZE_HORIZONTAL("eli-resize-horizontal", '\ue64f'),
    RESIZE_SMALL("eli-resize-small", '\ue64e'),
    RESIZE_VERTICAL("eli-resize-vertical", '\ue64d'),
    RETURN_KEY("eli-return-key", '\ue64c'),
    RETWEET("eli-retweet", '\ue64b'),
    REVERSE_ALT("eli-reverse-alt", '\ue64a'),
    ROAD("eli-road", '\ue649'),
    RSS("eli-rss", '\ue648'),
    SCISSORS("eli-scissors", '\ue647'),
    SCREEN("eli-screen", '\ue646'),
    SCREENSHOT("eli-screenshot", '\ue644'),
    SCREEN_ALT("eli-screen-alt", '\ue645'),
    SEARCH("eli-search", '\ue643'),
    SEARCH_ALT("eli-search-alt", '\ue642'),
    SHARE("eli-share", '\ue641'),
    SHARE_ALT("eli-share-alt", '\ue640'),
    SHOPPING_CART("eli-shopping-cart", '\ue63f'),
    SHOPPING_CART_SIGN("eli-shopping-cart-sign", '\ue63e'),
    SIGNAL("eli-signal", '\ue63d'),
    SKYPE("eli-skype", '\ue63c'),
    SLIDESHARE("eli-slideshare", '\ue63b'),
    SMILEY("eli-smiley", '\ue63a'),
    SMILEY_ALT("eli-smiley-alt", '\ue639'),
    SOUNDCLOUD("eli-soundcloud", '\ue638'),
    SPEAKER("eli-speaker", '\ue637'),
    SPOTIFY("eli-spotify", '\ue636'),
    STACKOVERFLOW("eli-stackoverflow", '\ue635'),
    STAR("eli-star", '\ue634'),
    STAR_ALT("eli-star-alt", '\ue633'),
    STAR_EMPTY("eli-star-empty", '\ue632'),
    STEP_BACKWARD("eli-step-backward", '\ue631'),
    STEP_FORWARD("eli-step-forward", '\ue630'),
    STOP("eli-stop", '\ue62f'),
    STOP_ALT("eli-stop-alt", '\ue62e'),
    STUMBLEUPON("eli-stumbleupon", '\ue62d'),
    TAG("eli-tag", '\ue62c'),
    TAGS("eli-tags", '\ue62b'),
    TASKS("eli-tasks", '\ue62a'),
    TEXT_HEIGHT("eli-text-height", '\ue629'),
    TEXT_WIDTH("eli-text-width", '\ue628'),
    TH("eli-th", '\ue627'),
    THUMBS_DOWN("eli-thumbs-down", '\ue624'),
    THUMBS_UP("eli-thumbs-up", '\ue623'),
    TH_LARGE("eli-th-large", '\ue626'),
    TH_LIST("eli-th-list", '\ue625'),
    TIME("eli-time", '\ue622'),
    TIME_ALT("eli-time-alt", '\ue621'),
    TINT("eli-tint", '\ue620'),
    TORSO("eli-torso", '\ue61f'),
    TRASH("eli-trash", '\ue61e'),
    TRASH_ALT("eli-trash-alt", '\ue61d'),
    TUMBLR("eli-tumblr", '\ue61c'),
    TWITTER("eli-twitter", '\ue61b'),
    UNIVERSAL_ACCESS("eli-universal-access", '\ue61a'),
    UNLOCK("eli-unlock", '\ue619'),
    UNLOCK_ALT("eli-unlock-alt", '\ue618'),
    UPLOAD("eli-upload", '\ue617'),
    USD("eli-usd", '\ue616'),
    USER("eli-user", '\ue615'),
    VIADEO("eli-viadeo", '\ue614'),
    VIDEO("eli-video", '\ue613'),
    VIDEO_ALT("eli-video-alt", '\ue612'),
    VIDEO_CHAT("eli-video-chat", '\ue611'),
    VIEW_MODE("eli-view-mode", '\ue610'),
    VIMEO("eli-vimeo", '\ue60f'),
    VKONTAKTE("eli-vkontakte", '\ue60e'),
    VOLUME_DOWN("eli-volume-down", '\ue60d'),
    VOLUME_OFF("eli-volume-off", '\ue60c'),
    VOLUME_UP("eli-volume-up", '\ue60b'),
    W3C("eli-w3c", '\ue60a'),
    WARNING_SIGN("eli-warning-sign", '\ue609'),
    WEBSITE("eli-website", '\ue608'),
    WEBSITE_ALT("eli-website-alt", '\ue607'),
    WHEELCHAIR("eli-wheelchair", '\ue606'),
    WORDPRESS("eli-wordpress", '\ue605'),
    WRENCH("eli-wrench", '\ue604'),
    WRENCH_ALT("eli-wrench-alt", '\ue603'),
    YOUTUBE("eli-youtube", '\ue602'),
    ZOOM_IN("eli-zoom-in", '\ue601'),
    ZOOM_OUT("eli-zoom-out", '\ue600');

    public static Elusive findByDescription(String description) {
        for (Elusive font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private String description;
    private int code;

    Elusive(String description, int code) {
        this.description = description;
        this.code = code;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}